
package Dao;

import Modelo.ClassConexionDAO;
import Modelo.Validaciones;
import Modelo.Viaje;
import PackageConeccion.ConeccionBD;
import java.sql.ResultSet;
import java.util.Date;


public class DaoViaje extends ClassConexionDAO
{
    public void ModificarViaje(Viaje viaje)
  {
     String Sql;
     String CantPasajeros=Integer.toString(viaje.getCantPasajeros());
     String Seguro=Integer.toString(viaje.getSeguro());         
     
    Sql="UPDATE viaje SET ";
    Sql=Sql+"codViaje="+Validaciones.Apost(viaje.getCodViaje())+",";
    Sql=Sql+"placaVehiculo="+Validaciones.Apost(viaje.getPlacaVehiculo())+",";            
    Sql=Sql+"ciSocio="+Validaciones.Apost(viaje.getCiSocio())+",";
    Sql=Sql+"ciEmpleado="+Validaciones.Apost(viaje.getCiEmpleado())+",";
    Sql=Sql+"codCooperativa="+Validaciones.Apost(viaje.getCodCooperativa())+",";
    Sql=Sql+"fechaSalida="+Validaciones.Apost(viaje.getFechaSalida().toString())+",";                
    Sql=Sql+"horaSalida="+Validaciones.Apost(viaje.getHoraSalida())+",";
    Sql=Sql+"destino="+Validaciones.Apost(viaje.getDestino())+",";
    Sql=Sql+"fechaRegreso="+Validaciones.Apost(viaje.getFechaRegreso().toString())+",";    
    Sql=Sql+"horaRegreso="+Validaciones.Apost(viaje.getHoraRegreso())+",";
    Sql=Sql+"cantPasajeros="+Validaciones.Apost(CantPasajeros)+",";
    Sql=Sql+"seguro="+Validaciones.Apost(Seguro);            
    Sql=Sql+" WHERE codViaje="+ Validaciones.Apost(viaje.getCodViaje());  
    ConeccionBD.ejecutar(Sql);
  }   
//-------------------------------
    public void IncluirViaje(Viaje viaje)
  {
     String Sql;
     String CantPasajeros=Integer.toString(viaje.getCantPasajeros());
     String Seguro=Integer.toString(viaje.getSeguro());         
     
     Sql="INSERT INTO viaje (codigoviaje, placavehiculo, cedulasocio, cedulaempleado,";
     Sql=Sql+"codigocooperativa,fechasalida, horasalida, destino, fecharegreso, horaregreso,";
     Sql=Sql+"seguro, cantpasajeros, estatus) VALUES ("; 
     
    Sql=Sql+Validaciones.Apost(viaje.getCodViaje())+",";    
    Sql=Sql+Validaciones.Apost(viaje.getPlacaVehiculo())+",";            
    Sql=Sql+Validaciones.Apost(viaje.getCiSocio())+",";
    Sql=Sql+Validaciones.Apost(viaje.getCiEmpleado())+",";
    Sql=Sql+Validaciones.Apost(viaje.getCodCooperativa())+",";
    
    Sql=Sql+Validaciones.Apost(viaje.getFechaSalida().toString())+",";                
    Sql=Sql+Validaciones.Apost(viaje.getHoraSalida())+",";
    Sql=Sql+Validaciones.Apost(viaje.getDestino())+",";
    Sql=Sql+Validaciones.Apost(viaje.getFechaRegreso().toString())+",";    
    Sql=Sql+Validaciones.Apost(viaje.getHoraRegreso())+",";
    Sql=Sql+Validaciones.Apost(Seguro)+",";
    Sql=Sql+Validaciones.Apost(CantPasajeros)+",";
    Sql=Sql+Validaciones.Apost(String.valueOf(viaje.getEstatus()))+")";
    
    ConeccionBD.ejecutar(Sql);
  }   
//------------------------------  
  public ResultSet BuscarViaje(String CodViaje)
  {
     ResultSet registroViaje; 
     String Sql;
     
     Sql="SELECT * FROM viaje WHERE codViaje="+Validaciones.Apost((CodViaje));
     registroViaje=ConeccionBD.consultar(Sql);
     return registroViaje;
  }  
  
  //------------------------------  
  public ResultSet BuscarViajeVehDia(String placa, Date dia)
  {
     ResultSet registroViaje; 
     String Sql;
     
     Sql="SELECT * FROM viaje WHERE placavehiculo="+Validaciones.Apost((placa));
     Sql=Sql+"AND fechasalida ="+Validaciones.Apost(dia.toString());
     registroViaje=ConeccionBD.consultar(Sql);
     return registroViaje;
  }  
//-------------------------  

  public ResultSet ConsultarViaje()
  {
     ResultSet registroViaje; 
     String Sql;
     
     Sql="SELECT * FROM viaje ORDER BY codigoviaje ASC"; 
     registroViaje=ConeccionBD.consultar(Sql);
     
     return registroViaje;
      
  }   
 public ResultSet CantidadViajes()
  {
      ResultSet cant;
      String sql;
      
      sql="SELECT count(*) from viaje";
      cant = ConeccionBD.consultar(sql);
      return cant;
  }
 
 public ResultSet CantViajesXDia(String dia)
  {
      ResultSet cant;
      String sql;
      
      sql="SELECT count(*) from viaje WHERE fechasalida="+Validaciones.Apost(dia);
      cant = ConeccionBD.consultar(sql);
      return cant;
  }
  public ResultSet ConsultarViajeXDia(String dia)
  {
     ResultSet registroViaje; 
     String Sql;
     
     Sql="SELECT * FROM viaje WHERE estatus = 'A'";
     Sql=Sql+" and fechasalida = "+Validaciones.Apost(dia)+" ORDER BY codigoviaje ASC"; 
     registroViaje=ConeccionBD.consultar(Sql);
     
     return registroViaje;
      
  }  
  
  public ResultSet ConsultarViajeXFecha(Date fechai,Date fechaf)
  {
     ResultSet registroViaje; 
     String Sql;
     
     Sql="SELECT fechasalida, placavehiculo, cedulaempleado, destino FROM viaje ";
     Sql=Sql+"WHERE fechasalida BETWEEN '" + fechai + "' AND '" + fechaf + "'"+" ORDER BY codigoviaje ASC"; 
     registroViaje=ConeccionBD.consultar(Sql);
     
     return registroViaje;
      
  }
}
